Repository navigation
Conversation
- Bind publication and recovery to one reviewed commit and retained build inputs. - Verify downloaded npm bytes before skipping versions or advancing release discovery.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Release preparation previously accepted an unrelated origin or feature branch, while retries trusted npm version existence without comparing the published bytes.
Require verified Git source selection, retain one approved artifact set before publication, and download and hash npm tarballs before skipping versions or advancing release discovery.
Companion cloud contract and validation handoff: https://github.com/diffexai/diffex-cloud/pull/151.
Reasoning
An npm publish cannot be safely replaced after a partial failure, so retries must reuse and verify the original artifact bytes.
The approved distribution policy currently enables npm only; the existing R2 schema remains unchanged and additional channels fail closed until their public asset verification is implemented.
Changes
Testing
npm run check: passed../test.sh: passed the complete isolated non-E2E suite.node --test scripts/*.test.mjs: passed; affected source, publication, recovery, and contract tests were rerun after refinements..github/workflows/build-binaries.yml.Git recovery tests use real local bare remotes; registry, npm, GitHub, and AWS operations use controlled fixtures, and temporary resources are cleaned up.
The credentialed release workflow was not dispatched.
Real packaging still requires the existing owner changelog regeneration prerequisite, and standalone public asset acceptance remains deferred.